<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Admin
 *
 * @author lucas
 */
class CMS_Controller extends CI_Controller {

    protected $usuario = NULL;

    // public $language = NULL;

    public function __construct() {
        parent::__construct();
        $this->parser->add_js('jquery-1.7.1.min');
        $this->load->library('session');
        $this->load->library('logs');

        if ($this->session->userdata('idioma')) {
            $this->config->set_item('language', $this->session->userdata('idioma'));
        }
        $this->set_configuracoes_cms();
    }

    public function checar_metodo($_metodo) {
        return $this->permissions->_checked($_metodo);
    }

    public function error_metodo($_metodo, $_retorno = 'html') {
        $this->lang->load('errors');
        $message = 'Sem permissão de acesso ao metodo ' . $_metodo . '.';
        $v_dados = array();
        $v_dados['heading'] = 403;
        $v_dados['message'] = $message;
        $v_dados['messagem_link'] = $this->lang->line('erros_messagem_link');
        //pre($v_dados);
        //$this->parser->parse_cms('erros_general_message', $v_dados);
        if ($_retorno == 'html') {
            $this->parser->parse_cms('erros_error_404', $v_dados);
        } else {
            return $v_dados;
        }
    }

    function _show_message($message, $heading = "Login") {
        $this->parser->parse_cms('erros_general_message', array('heading' => $heading, 'message' => $message));
    }

    function set_configuracoes_cms() {
        $this->load->database();
        $query = $this->db->get('configuracao');
        foreach ($query->result() as $k => $v) {
            //pre($v->valor);
            if ($v->valor == 'FCPATH') {
                $valor = FCPATH;
            } else {
                $valor = $v->valor;
            }
            switch ($v->tipo) {
                case 'bool':
                    $valor = (Bool) (($valor == "false" OR $valor == 0) ? FALSE : TRUE);
                    break;

                case 'int':
                    $valor = (int) $valor;
                    break;
            }
            //pre($valor);
            $this->config->set_item($v->nome, $valor);
            //pre($this->config->item('multipla_caracteristicas'));
        }
    }

}
